﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;
using Find4You.Models;
using JsonDynamic;
using Newtonsoft.Json.Linq;

namespace Find4You.Util
{
    public static class Funcoes
    {
        #region Categorias Buscape

        private static IList<Categoria> _categorias;
#if DEBUG
        public static IList<Categoria> GetCategorias()
        {
            var lista = new List<Categoria>();
            lista.Add(new Categoria {Id = 1, Nome = "Eletrônicos"});
            lista.Add(new Categoria { Id = 1, Nome = "Informática" });
            lista.Add(new Categoria { Id = 1, Nome = "Camae Mesa" });
            lista.Add(new Categoria { Id = 1, Nome = "Móveis" });
            lista.Add(new Categoria { Id = 1, Nome = "Eletrodomésticos" });
            return lista;
        }
#endif

#if !DEBUG
        public static IList<Categoria> GetCategorias()
        {
            if (_categorias != null && _categorias.Count > 0) return _categorias;

            var serializer = new JavaScriptSerializer();
            serializer.RegisterConverters(new[] { new DynamicJsonConverter() });

            _categorias = new List<Categoria>();
            var buscape = new BuscapeApi(BuscapeApi.ApplicationId, "BR", "json", true);
            var json = buscape.FindCategoryList(null, string.Empty, string.Empty);

            dynamic obj = serializer.Deserialize(json, typeof(object));
            
            Console.WriteLine( obj.category.id) ;
            //var cat = new Categoria {Id = Convert.ToInt32(obj.category.id), Nome = obj.category.name};
            //_categorias.Add(cat);

            foreach(var item in obj.subcategory)
            {
                var subcat = new Categoria();
                subcat.Id = Convert.ToInt32(item.subcategory.id);
                subcat.Nome = item.subcategory.name;
                _categorias.Add(subcat);
            }
            return _categorias;
        }
#endif
        #endregion
        
        
    }
}